本文研究的是联合意图识别和序列标注问题,在slot-gate基础上综合考虑ID->SF和SF->ID两方面的影响,同时提出了一种多重交互的机制来增强两个任务之间的联系,在ATIS和Snips公开数据集上取得了很好的效果。
paper: https://drive.google.com/open?id=13fCcaL87EMYgDq6R_mH5a56LqSQ2axgl
source: ACL 2019 short paper
code: https://github.com/ZephyrChenzf/SF-ID-Network-For-NLU
Introduction
目前大部分关于NLU的工作集中于将两个子任务Intent Detection和Slot Filling联合优化,早期的论文只是隐式的将损失函数相加,而Slot-gated modeling for joint slot filling and intent prediction提出了将ID的信息融合进SF的识别过程中,发现能够促进SF的效果。本文在此基础上,综合考虑了ID->SF和SF->ID两方面的影响,同时提出了一种多重交互的机制来不断增强两个任务之间的联系,在ATIS和Snips公开数据集上取得了很好的效果。
Models
在编码输入句子上,模型使用了类似的结构,首先使用Bi-LSTM编码,然后进行自注意力计算:
$$
c_{s l o t}^{i}=\sum_{j=1}^{T} \alpha_{i, j}^{S} h_{j}
$$
同样,使用最后时刻的隐层状态$h_{T}$计算自注意力得到$c_{inte}$。
SF-ID Network
SF-ID Network 由两个模块组成:SF, ID。根据这两个模块执行顺序的不同,SF-ID Network可以分为两种:
- SF-First Mode
- ID-First Mode
这两种仅是执行顺序不同,内在的运算类似。
SF-First Mode
SF subnet 首先通过意图信息$c_{inte}$和槽信息$c_{slot}^{i}$计算一个相关因子$f$:
$$
f=\sum V \ast \tanh \left(c_{\text {slot}}^{i}+W \ast c_{\text {inte}}\right)
$$
这里的操作借鉴自SlotGate模型。然后得到增强后的slot vector:$r_{\text {slot}}^{i}=f \cdot c_{\text {slot}}^{i}$。
ID subnet 将slot信息融合到意图识别任务中,作者认为混合的多粒度信息有助于ID:
$$
r=\sum_{i=1}^{T} \alpha_{i} \cdot r_{s l o t}^{i} \\
\alpha_{i}=\frac{\exp \left(e_{i, i}\right)}{\sum_{j=1}^{T} \exp \left(e_{i, j}\right)} \\
e_{i, j}=W \ast \tanh \left(V_{1} \ast r_{\text {slot}}^{i}+V_{2} \ast h_{j}+b\right)
$$
最终得到新的context vector: $r_{\text {inte}}=r+c_{\text {inte}}$。
Iteration Mechanism 反过来,$r_{\text {inte}}$也可以被输入到SF subnet中重新计算$f$:
$$
f=\sum V \ast \tanh \left(c_{s l o t}^{i}+W \ast r_{i n t e}\right)
$$
继而得到新的$r_{slot}^{i}$和$r_{inte}$,这个过程可以重复进行。作者在之后的实验中发现迭代3次能取得最好的效果。
迭代结束后,$r_{slot}^{i}$和$r_{inte}$被用来做最后的预测:
$$
y_{i n t e}=\operatorname{softmax}\left(W_{i n t e}^{h y} \operatorname{concat}\left(h_{T}, r_{i n t e}\right)\right) \\
y_{s l o t}^{i}=\operatorname{softmax}\left(W_{s l o t}^{h y} \operatorname{concat}\left(h_{i}, r_{s l o t}^{i}\right)\right)
$$
实际操作中作者还增加了CRF层辅助SF。
ID-First Mode
在ID-First Mode下,先进行ID subnet运算,再通过SF subnet。顺序改变会带来一些细节上的变化。
ID subnet
在计算$r_{inte}$的时候需要把$r_{slot}^{i}$替换成$c_{slot}^{i}$,其余操作不变。
Experiment
作者发现SF-first在ID任务上优于ID-first,而在SF任务上劣于ID-first。原因是SF-first把ID当作更重要的任务,融合SF的信息到ID中。
Conclusion
本文研究的是联合意图识别和序列标注问题,在slot-gate基础上综合考虑ID->SF和SF->ID两方面的影响,同时提出了一种多重交互的机制来增强两个任务之间的联系,在ATIS和Snips公开数据集上取得了很好的效果。